#include<pthread.h>
#include<unistd.h>
#include<stdio.h>
#include<math.h>

int n;
float s1,s2;

void *compute(void *arg)
{
    int i;
    float sign;
    sign = pow(-1,n/2-1);
    for(int i=n/2+1;i<=n;i++)
    {
        s2+=sign*1/(2*(float)i-1);
        sign=-sign;
    }
    return NULL;

}
int main()
{
    n=1000000;
    pthread_t tid;
    float s,sign=1;
    pthread_create(&tid,NULL,compute,NULL);
    for(int i=1;i<=n/2;i++)
    {
        s1+=sign*1/(2*(float)i-1);
        sign=-sign;
    }
    pthread_join(tid,NULL);
    s=s1+s2;
    printf("%f\n",s*4);
    return 0;
}
